home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
251-275
/
apd271
/
the wizards domain.amos
/
the wizards domain.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1991-05-01
|
9KB
|
363 lines
Screen Open 0,320,256,16,Lowres : Hide On
' this programme can not be altered without prior permission from me
' but there is nothing stopping you using the pictures,music,sounds,
' Andy Paul 22 ceylon place,eastbourne,east sussex.0323 26790
' I wont say no anyway,
' but its nice to know if any one does change anything.
'
' ***WANTED-----DEAD OR ALIVE****
' Artists to do the grafix in my games,utils etc
'
'If your a total beginner and need some help give us a ring i'd be glad to
'help.If your an experienced programmer give us a ring,i need some help.
SETUP:
Load "M/T1" : Volume 63 : Music 1
Load Iff "P/Start",0
Rem wait until user presses the fire button
Repeat
Until Fire(1)
Fade 5 : Wait 50 : Cls 0
Load Iff "P/intro",0 : Paper 0 : Pen 1 : Locate 17,2 : Print " "
Load "M/1.abk"
Load "M/sam1.abk"
Repeat
Until Fire(1)
Rem move score screen etc down to bottom of screen
Channel 1 To Screen Display 0
Amal 1,"M 0,200,50" : Amal On : Wait 50
LEVEL=1 : ENERGY=34
SC=0
Rem slowly fade out music
For V=63 To 1 Step -1
Volume V
Wait 3
Next V
Load "M/T2" : Volume 63 : Music 1
Rem put volume back up to 63
Volume 63
Rem open large screen for levels
Screen Open 1,640,256,16,Lowres : Flash Off : Double Buffer : Cls 0
Auto View Off
MAIN:
Update Every 2
Rem set bob X,Y values and the screen values
X=624 : Y=14 : SX=295 : FX=41
Screen 0 : Ink 0 : Bar 42,35 To 200,45 : Pen 1 : Locate 33,4 : Print " " : Locate 3,2 : Print LEVEL : Shift Off
Rem ok ,whatlevel are we on and where to go
If LEVEL=1 Then Gosub A1
If LEVEL=2 Then Gosub A2
If LEVEL=3 Then Gosub A3
If LEVEL=4 Then Gosub A4
If LEVEL=5 Then Gosub A5
If LEVEL=6 Then Gosub A6
If LEVEL=7 Then Gosub A7
If LEVEL=8 Then Gosub BEATIT
If LEVEL=9 Then Gosub A6
Rem dec ENERGY makes the timer go faster
If LEVEL=10 Then Dec ENERGY : Dec ENERGY : Gosub A7
If LEVEL=11 Then Dec ENERGY : Dec ENERGY : Gosub A1
If LEVEL=12 Then Dec ENERGY : Dec ENERGY : Dec ENERGY : Gosub A3
If LEVEL=13 Then Dec ENERGY : Dec ENERGY : Gosub A4
If LEVEL=14 Then Dec ENERGY : Dec ENERGY : Dec ENERGY : Gosub A2
If LEVEL=15 Then Dec ENERGY : Dec ENERGY : Gosub A5
If LEVEL=16 Then Gosub FINISHED
Bob 1,X,Y,1
TAB=0 : YEP=False
Screen To Front 0
Every ENERGY Gosub FUEL
Get Sprite Palette
Auto View On
Repeat
If Key State(25) Then Gosub PAUSE
If Jdown(1) and Point(X Bob(1),Y Bob(1)+6)=0 Then Bob 1,,,1 : Inc Y
If Jleft(1) and Point(X Bob(1)-6,Y Bob(1))=0 Then Bob 1,,,2 : Dec X
If Jup(1) and Point(X Bob(1),Y Bob(1)-6)=0 Then Bob 1,,,3 : Dec Y
If Jright(1) and Point(X Bob(1)+6,Y Bob(1))=0 Then Bob 1,,,4 : Inc X
If Fire(1) Then Gosub SHOT
If Bob Col(1,7 To 11) Then Gosub G_OTONE
Bob 1,X,Y,
Rem these two lines move the screen if the bob is far left or right
If X-10<SX and X>10 Then Dec SX : Screen Offset 1,SX,
If X+10>SX+336 and X<623 Then Inc SX : Screen Offset 1,SX,
Until YEP=True
Screen 0
Shift Up 10,9,15,1
Amal Off : Bob Off : Inc LEVEL
SSC=200-FX
SC=SSC+SC
Locate 17,2 : Print SC
Screen 1 : Fade 5
Rem Screen copy 1 to physic copys a blank screen to the physic screen used
Rem in double buffering.This has to be done because when the next screen
Rem is loaded the last screen level is still present and causes really
Rem annoying flashing and effects.It took me ages to get over that problem.
'
Cls 0 : Wait Vbl : Screen Copy 1 To Physic : Wait Vbl
Auto View Off
Gosub MAIN
Rem make the timer move up 1
FUEL:
Inc FX
Screen 0
If FX>200 Then Gosub DEAD
If FX>190 : Ink 3 : Sam Play 1,1 : Else Ink 5 : End If
Draw FX,35 To FX,45
Screen 1
Every On : Return
Rem this is for a collision between bob 1 and the tablets
G_OTONE:
For A=7 To 10
If Col(A) Then Bob Off A : Inc TAB : Screen 0 : Locate 33,4 : Paper 0 : Pen 1 : Print TAB : Screen 1 : Sam Play 1,2
Next A
If Col(11) and TAB=4 Then YEP=True
Return
Rem if user presses fire move bullet in correct direction
SHOT:
Bob 6,X Bob(1),Y Bob(1),
Channel 6 To Bob 6
If I Bob(1)=1 Then Goto 1
If I Bob(1)=2 Then Goto 2
If I Bob(1)=3 Then Goto 3
If I Bob(1)=4 Then Goto 4
1
Amal 6,"M 0,50,20; A 0,(5,5)(6,5)" : Goto 5
2
Amal 6,"M -50,0,20; A 0,(5,5)(6,5)" : Goto 5
3
Amal 6,"M 0,-50,20; A 0,(5,5)(6,5)" : Goto 5
4
Amal 6,"M 50,0,20; A 0,(5,5)(6,5)" : Goto 5
5
Amal On 6
For A=1 To 280
For B=2 To 5
If Bob Col(6,B To B) Then Boom : Amal Off B : Bob Off B : Wait 2
Next B
Next A
Bob 6,-20,-20,
Every ENERGY Gosub FUEL
Every On
Return
Rem user pressed P
PAUSE:
Screen 0 : Bob 12,250,15,15
Wait 10
Shift Up 20,9,15,1
Every Off
Wait 10
Clear Key : Wait Key
Rem user pressed another key
Every ENERGY Gosub FUEL
Every On
Bob Off 12
Wait 10
Shift Off
Wait 10
Screen 1
Return
Rem A1-A7 load the relevant screens and set the amals
A1:
Screen 1
Load Iff "P/S1"
Screen Copy 1 To Physic
Screen Display 1,112,32,,
Screen Offset 1,SX,
Bob 2,15,111,7
Bob 3,89,15,7
Bob 4,169,176,7
Bob 5,535,192,7
Bob 7,50,193,13
Bob 8,289,15,13
Bob 9,609,15,13
Bob 10,385,160,13
Bob 11,30,75,14
For A=2 To 4
Channel A To Bob A
Amal A,"A 0,(7,10)(8,10)(9,10)(10,10)(11,10)(12,10)"
Next A
Amal On
Wait 10
Return
A2:
Screen 1
Load Iff "P/S2"
Screen Copy 1 To Physic
Screen Display 1,112,32,,
Screen Offset 1,SX,
Bob 2,580,192,7
Bob 3,204,180,7
Bob 4,144,176,7
Bob 5,76,100,7
Bob 7,480,56,13
Bob 8,210,85,13
Bob 9,136,85,13
Bob 10,16,17,13
Bob 11,490,170,14
For A=2 To 5
Channel A To Bob A
Amal A,"A 0,(7,10)(8,10)(9,10)(10,10)(11,10)(12,10)"
Next A
Amal On
Return
A3:
Screen 1
Load Iff "P/S3"
Screen Copy 1 To Physic
Screen Display 1,112,32,,
Screen Offset 1,SX,
Bob 2,505,175,7
Bob 3,100,192,7
Bob 4,15,192,7
Bob 5,160,128,7
Bob 7,480,175,13
Bob 8,150,170,13
Bob 9,110,172,13
Bob 10,210,15,13
Bob 11,572,25,14
For A=2 To 5
Channel A To Bob A
Amal A,"A 0,(7,10)(8,10)(9,10)(10,10)(11,10)(12,10)"
Next A
Amal On
Return
A4:
Screen 1
Load Iff "P/S4"
Screen Copy 1 To Physic
Screen Display 1,112,32,,
Screen Offset 1,SX,
Bob 2,490,120,7
Bob 3,90,95,7
Bob 4,152,95,7
Bob 5,168,95,7
Bob 7,410,45,13
Bob 8,220,175,13
Bob 9,300,87,13
Bob 10,90,157,13
Bob 11,420,70,14
For A=2 To 5
Channel A To Bob A
Amal A,"A 0,(7,10)(8,10)(9,10)(10,10)(11,10)(12,10)"
Next A
Amal On
Return
A5:
Screen 1
Load Iff "P/S5"
Screen Copy 1 To Physic
Screen Display 1,112,32,,
Screen Offset 1,SX,
Bob 2,352,100,7
Bob 3,336,120,7
Bob 4,305,40,7
Bob 5,72,68,7
Bob 7,480,20,13
Bob 8,274,16,13
Bob 9,105,90,13
Bob 10,226,14,13
Bob 11,580,140,14
For A=2 To 5
Channel A To Bob A
Amal A,"A 0,(7,10)(8,10)(9,10)(10,10)(11,10)(12,10)"
Next A
Amal On
Return
A6:
Screen 1
Load Iff "P/S6"
Screen Copy 1 To Physic
Screen Display 1,112,32,,
Screen Offset 1,SX,
Bob 2,500,62,7
Bob 3,420,86,7
Bob 4,160,118,7
Bob 5,140,102,7
Bob 7,620,50,13
Bob 8,540,130,13
Bob 9,80,120,13
Bob 10,120,130,13
Bob 11,590,70,14
For A=2 To 5
Channel A To Bob A
Amal A,"A 0,(7,10)(8,10)(9,10)(10,10)(11,10)(12,10)"
Next A
Amal On
Return
A7:
Screen 1
Load Iff "P/S7"
Screen Copy 1 To Physic
Screen Display 1,112,32,,
Screen Offset 1,SX,
Bob 2,320,192,7
Bob 3,265,142,7
Bob 4,65,31,7
Bob 5,75,31,7
Bob 7,620,50,13
Bob 8,330,106,13
Bob 9,212,112,13
Bob 10,35,151,13
Bob 11,500,14,14
For A=2 To 5
Channel A To Bob A
Amal A,"A 0,(7,10)(8,10)(9,10)(10,10)(11,10)(12,10)"
Next A
Amal On
Return
BEATIT:
Screen Close 1
Screen Open 1,320,256,32,Lowres
Load Iff "p/beatit" : Flash Off
Auto View On
Wait 500
Fade 5 : Wait 50
Cls 0
Load Iff "P/BEATIT2"
Flash Off : Curs Off
Repeat
Until Fire(1)
Fade 5 : Wait 100
ENERGY=30
Inc LEVEL
Screen Close 1
Screen Open 1,640,256,16,Lowres : Curs Off : Double Buffer
Auto View Off
Gosub MAIN
Rem this sub is for the people that didnt make it ahhhhhhhh
DEAD:
For A=1 To 5
Sam Play 1,1
Wait 15
Next A
Screen 1
Fade 5 : Wait 100
For V=63 To 1 Step -1
Volume V
Wait 3
Next V
Screen Close 1
Screen Open 1,320,256,32,Lowres : Cls 0
Load Iff "p/gameover" : Curs Off
Load "m/t1" : Volume 63 : Music 1
Repeat
Until Fire(1)
Fade 5 : Wait 100
Screen Close 1
For V=63 To 1 Step -1
Volume V
Wait 3
Next V
Gosub SETUP
Rem this is for the people who did make it yippeeeeeee
FINISHED:
Screen Close 1
Screen Open 1,320,256,32,Lowres : Cls 0
Load Iff "P/finished" : Flash Off
Auto View On
Repeat
Until Fire(1)
Fade 5 : Wait 50
Screen Close 1
For V=63 To 1 : Volume V : Wait 3 : Next V : Erase 3
Volume 63
Gosub SETUP